package com.diver.flinkdemo.entity.xxt;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 2018/06/29
 * Created by Wen Jun.
 */
@ApiModel(value = "微信user对象", description = "xxt-公众号微信用户表")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@TableName("user")
public class User implements java.io.Serializable {
    // 序列化版本
    private static final long serialVersionUID = -2677909542190799872L;

    // 唯一标识 [主键]
    @TableId(type = IdType.UUID)
    @ApiModelProperty(value = "主键")
    private String id;

    // 微信-openId
    @ApiModelProperty(value = "微信-openId")
    private String openId;

    // 海象微信-openId
    @ApiModelProperty(value = "海象微信-openId")
    private String walrusOpenId;

    //0:其他渠道 1:海象渠道
    @ApiModelProperty(value = "渠道 0:其他渠道 1:海象渠道")
    private String walrusFlag;

    // 应用管理系统-账户
    @ApiModelProperty(value = "账户id")
    private String accountId;

    // 应用管理系统-昵称
    @ApiModelProperty(value = "昵称")
    private String nickName;

    // 应用管理系统-姓名
    @ApiModelProperty(value = "姓名")
    private String name;

    // 应用管理系统-电话
    @ApiModelProperty(value = "电话")
    private String telephone;

    // 应用管理系统-身份证号
    @ApiModelProperty(value = "身份证号")
    private String idCard;

    // 微信-头像
    @ApiModelProperty(value = "微信头像")
    private String head;

    // 微信-昵称
    @ApiModelProperty(value = "微信昵称")
    private String userName;

    // 用户绑定手机号
    @ApiModelProperty(value = "账户id")
    private String phone;

    // 创建时间
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    // 创建人
    @ApiModelProperty(value = "创建人id")
    private String createPerson;

    // 更新时间
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    // 更新人
    @ApiModelProperty(value = "更新人id")
    private String updatePerson;

    // 删除标识（0：未删除，1：已删除）
    @ApiModelProperty(value = "删除标识 0：未删除，1：已删除")
    private Integer deleteFlag;

    // 删除时间
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
//    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "删除时间")
    private Date deleteTime;

    // 删除人
    @ApiModelProperty(value = "删除人id")
    private String deletePerson;

    //对应绑定教师id
    @ApiModelProperty(value = "对应绑定教师id")
    private String teacherId;

    //家长的外部联系人id
    @ApiModelProperty(value = "家长的外部联系人id")
    private String externalUserid;

}
